This application is based on application Nos. 2000-144481 and 2001-128216 filed in Japan, the contents of which are hereby incorporated by reference.
1. Field of the Invention
The present invention relates generally to color conversion devices and methods and particularly to those employing a three-dimensional look-up table in a direct mapping system to provide color conversion.
2. Description of the Related Art
Conventionally when input image data represented in a color space is converted to output image data represented in a different color space it is converted in a direct mapping system, a masking system or the like. Of these systems, the direct mapping system provides direct data conversion employing a three-dimensional look up table (LUT) correlating data of a color space for input image data and data of a color space for output image data with each other and thus storing these data therein.
However, storing in a three-dimensional LUT all of the output image data corresponding to input image data requires an enormous amount of memory capacity. Accordingly, together with a LUT an interpolation operation is normally performed to provide color conversion. More specifically, a minimal number of data (or lattice points) form a LUT and data between lattice points are calculated by an interpolation operation.
FIG. 21 is a schematic block diagram for illustrating a color conversion process employing such a direct mapping system as described above. Herein, input image data is data R, G, B, each having eight bits, represented in an RGB color space, and output image data is data C, M, Y, K, each having eight bits, represented in a CMY color space.
Note that output image data has each four components (C, M, Y, K) all converted in color similarly and a color conversion process for one of the four components, component C, will be described representatively.
With reference to FIG. 21, if a direct mapping system is used in a color conversion process, a three-dimensional LUT block 701 extracts eight lattice points and outputs data corresponding to the extracted lattice points and an 8-point interpolation block 703 calculates desired interpolation data between lattice points. Of the eight bits of each of data R, G, B in input image data, the three most significant bits are input to three-dimensional LUT block 701 and the five least significant bits are input to 8-point interpolation unit 703.
Three-dimensional LUT block 701 includes a three-dimensional LUT having recorded therein data of an RGB color space and that of a CMY color space correlated with each other. FIG. 22 is a diagram for illustrating a concept of the three-dimensional LUT. With reference to FIG. 22, the three-dimensional LUT has axes R, G, B each divided in eight to provide lattice points. Correlated to input image data corresponding to the lattice points, output image data (lattice point data) are stored in the three-dimensional LUT.
When three-dimensional LUT block 701 receives the most significant 3-bit data of each of data R, G and B, eight lattice points are extracted in the three-dimensional LUT. These eight lattice points form a minimal cube containing one lattice point of an RGB color space determined by the most significant 3-bit data of each of data R, G, B. Then the three-dimensional LUT is referred to to extract output data corresponding to each lattice point.
8-point interpolation block 703 calculates a weighting coefficient from the least significant 5-bit data of each of data R, G, B input thereto and it uses the calculated weighting coefficient and the output data or lattice point data corresponding to the eight lattice points extracted by three-dimensional LUT block 701, to obtain final output data Cout, as follows:       Cout    =                  ∑                  i          =          1                8            ⁢              Wi        ·        Ci                  Wi    =          Vi              a        3            
herein Wi represents a weighting coefficient calculated from the least significant 5-bit data of each of data R, G, B and Ci represents lattice point data. As shown in FIG. 23, weighting coefficient Wi represents the percentage with which each of eight lattice point data C1-C8 contributes to output data of one point determined by the least significant 5-bit data of each of data R, G, B, which is shown as a black point situated approximately in the middle of the cube.
In a three-dimensional LUT, lattice point data have slightly different colors and levels in lightness depending on their locations. As such for example if input image data exists in a significantly saturated or vivid area, using data of a lattice point with a saturation component of a low level to provide an interpolation process would impair the image in vividness.
If input image data exists in a vicinity of a gray axis (an axis V in a VCrCb space for example), using data of a lattice point with a saturation component of a high level to provide an interpolation process would impair gray balance.
The present invention has been made to overcome the disadvantages as described above and it contemplates a color conversion device capable of improving color reproduction.
To achieve the above object the present invention in one aspect provides a color conversion device including:
a color conversion unit for receiving input of image data represented in a first color space to output a plurality of color converted data represented in a second color space;
an interpolation block for using the color-converted data to perform an interpolation operation to obtain output image data represented in the second color space and corresponding to the image data input;
a first determination block for determining a saturation level of the image data input; and
a modification block for modifying a level of contribution of the plurality of color-converted data to the interpolation operation based on a determination result of the first determination block.
The present invention in another aspect provides a color conversion method including the steps of:
(1) obtaining, based on image data input represented in a first color space, a plurality of color-converted data corresponding to the image data input and represented in a second color space;
(2) determining a saturation level of the image data input;
(3) modifying, based on a result of step (2), a level of contribution of the plurality of color-converted data to an interpolation operation; and
(4) using the color-converted data having a modified level of contribution, to perform the interpolation operation to obtain image data output represented in the second color space and corresponding to the image data input represented in the first color space.
The present invention in still another aspect to provide a program converting image data represented in a first color space to image data represented in a second color space, the program causing a computer to execute a process including the steps of:
(1) obtaining, based on image data input represented in a first color space, a plurality of color-converted data corresponding to the image data input and represented in a second color space;
(2) determining a saturation level of the image data input;
(3) modifying, based on a result of step (2), a level of contribution of the plurality of color-converted data to an interpolation operation; and
(4) using the color-converted data having a modified level of contribution, to perform the interpolation operation to obtain image data output represented in the second color space and corresponding to the image data input represented in the first color space.
The present invention in still another aspect provides a color conversion device including:
a three-dimensional lookup table having color-converted data stored therein a form of data corresponding each lattice point of a three-dimensional lattice dividing a first color space, and represented in a second color space, the three-dimensional lookup table receiving input of image data represented in the first color space to output a plurality of color-converted data corresponding to each lattice point of a cube containing the image data input;
a first determination block for determining a saturation level of the image data input;
a selector for selecting a predetermined interpolation coefficient based on a determination result of the first determination block; and
an interoperation block for using the interpolation coefficient selected by the selector and the plurality of color-converted data output from the three-dimensional lookup table, to perform an interpolation operation to obtain output image data represented in the second color space and corresponding to the image data input.
Thus the present invention can provide a color conversion device and method determining the saturation level of input image data which is in tern referred to to change an interpolation method to another to improve color reproduction.
The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.